embedded medical device firmware medical firmware embedded software development linux embedded systems consulting software outsourcing embedded firmware outsource fda firmware medical device software bpo